//
//  CZPopoverPresented.swift
//  GZWeibo666
//
//  Created by iOS on 16/05/9.
//  Copyright © 2016年 itcast. All rights reserved.
//

import UIKit

let CZPopoverPresentedDismiss = "CZPopoverPresentedDismiss"

class CZPopoverPresented: UIPresentationController {

    /*
        presentedViewController: modal出来的控制器
        presentedView(): 被modal出来的控制器的view
        containerView: 全屏的view,用来存放modal出来控制器的view.我们自己也可以添加view到里面
    */
    
    // 将要开始转场
    override func presentationTransitionWillBegin() {
        // 添加背景
        containerView?.addSubview(bkgView)
        
        // 约束
        bkgView.ff_Fill(containerView!)
    }
    
    // 容器视图将要布局
    override func containerViewWillLayoutSubviews() {
//        // 添加背景
//        containerView?.addSubview(bkgView)
//        
//        // 约束
//        bkgView.ff_Fill(containerView!)
//        
//        // 父控件将子空间推到最底部
//        containerView?.sendSubviewToBack(bkgView)
        
        print("容器视图将要布局")
        // 设置modal出来控制器的view的frame
        presentedView()?.frame = CGRect(x: 100, y: 56, width: 200, height: 300)
    }
    
    func close() {
        // 关闭modal出来的控制器
        presentedViewController.dismissViewControllerAnimated(true, completion: nil)
        
        // 让首页的title按钮箭头转回去
        NSNotificationCenter.defaultCenter().postNotificationName(CZPopoverPresentedDismiss, object: self)
    }
    
    // MARK: - 懒加载
    /// 背景
    private lazy var bkgView: UIView = {
        let view = UIView()
        
        // 黑色,0.2的透明度
        view.backgroundColor = UIColor(white: 0, alpha: 0.2)
        
        // 添加点击事件
        let tap = UITapGestureRecognizer(target: self, action: "close")
        view.addGestureRecognizer(tap)
        
        return view
    }()
}
